package com.ruoyi.magazine.order.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 business_order
 *
 * @author duanxinli
 * @date 2023-11-13
 */
public class Order extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 订单号
     */
    private String id;

    /**
     * 订单号（财务）
     */
    @Excel(name = "订单号")
    private String orderNo;

    /**
     * 订阅人姓名
     */
    @Excel(name = "订阅人姓名")
    private String custumerName;

    /**
     * 订阅人联系电话
     */
    // @Excel(name = "订阅人联系电话")
    private String phone;

    /**
     * 订阅人电子邮箱
     */
    private String email;

    /**
     * 订阅人手机号码
     */
    @Excel(name = "手机号码")
    private String mobile;

    /**
     * 所属公司名称
     */
    @Excel(name = "所属公司或单位名称")
    private String company;

    /**
     * 收货地址
     */
    private String address;

    /**
     * 所在地市
     */
    @Excel(name = "所在地市")
    private String city;

    /**
     * 邮政编码
     */
    private String postcode;

    /**
     * 收件人姓名
     */
    private String receiver;

    /**
     * 状态（0-未付款；1-处理中；2-成功（已付款）；3-已退款）
     */
    private String statue;
    /**
     * 订阅杂志Id
     */
    private String magazineId;
    @Excel(name = "杂志名称")
    private String magazineName;
    private BigDecimal price;


    /**
     * 总价
     */
    @Excel(name = "总价")
    private BigDecimal totalPrice;
    /**
     * 订购册数
     */
    @Excel(name = "套数")
    private long num;

    /**
     * 发票抬头
     */
    @Excel(name = "发票抬头")
    private String invoiceTitle;

    /**
     * 税号
     */
    @Excel(name = "税号")
    private String taxNo;

    /**
     * $column.columnComment
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /**
     * 订购类别（0-扫码；1-邮局）
     */

    private String payType;
    /**
     * 快递单号
     */
    private String trackingNum;


    private Date createDate;


    private Date updateDate;


    @Excel(name = "备注")
    private String remarks;

    /**
     * $column.columnComment
     */
    private String delFlag;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setCustumerName(String custumerName) {
        this.custumerName = custumerName;
    }

    public String getCustumerName() {
        return custumerName;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getMobile() {
        return mobile;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getCompany() {
        return company;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCity() {
        return city;
    }

    public void setPostcode(String postcode) {
        this.postcode = postcode;
    }

    public String getPostcode() {
        return postcode;
    }

    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }

    public String getReceiver() {
        return receiver;
    }

    public void setStatue(String statue) {
        this.statue = statue;
    }

    public String getStatue() {
        return statue;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setTaxNo(String taxNo) {
        this.taxNo = taxNo;
    }

    public String getTaxNo() {
        return taxNo;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayType() {
        return payType;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public String getMagazineId() {
        return magazineId;
    }

    public void setMagazineId(String magazineId) {
        this.magazineId = magazineId;
    }

    public long getNum() {
        return num;
    }

    public void setNum(long num) {
        this.num = num;
    }

    public String getMagazineName() {
        return magazineName;
    }

    public void setMagazineName(String magazineName) {
        this.magazineName = magazineName;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getTrackingNum() {
        return trackingNum;
    }

    public void setTrackingNum(String trackingNum) {
        this.trackingNum = trackingNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("orderNo", getOrderNo())
                .append("custumerName", getCustumerName())
                .append("phone", getPhone())
                .append("email", getEmail())
                .append("mobile", getMobile())
                .append("company", getCompany())
                .append("address", getAddress())
                .append("city", getCity())
                .append("postcode", getPostcode())
                .append("receiver", getReceiver())
                .append("statue", getStatue())
                .append("totalPrice", getTotalPrice())
                .append("invoiceTitle", getInvoiceTitle())
                .append("taxNo", getTaxNo())
                .append("payTime", getPayTime())
                .append("payType", getPayType())
                .append("createDate", getCreateDate())
                .append("updateDate", getUpdateDate())
                .append("remarks", getRemarks())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
